﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class 数据算法_冒泡排序 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        pre();


    }

    protected void pre()
    {
        string[] shu = useinput.Text.Trim().Split(',');
        string aa = "";
        for (int i = 0; i < shu.Length; i++)
        {
            for (int j = 0; j < shu.Length - 1; j++)
            {
                if (Convert.ToInt32( shu[j + 1]) > Convert.ToInt32(shu[j]))
                {
                    aa = shu[j];
                    shu[j] = shu[j + 1];
                    shu[j + 1] = aa;
                }
            }
        }
        Result.Text = "";
        foreach (string str in shu)
        {
            Result.Text += str + ",";
        }
    }

    /// <summary>
    /// 冒泡排序 事件开始
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void actionx(object sender, EventArgs e)
    {
        int shu=0;
        string[] R = useinput.Text.Trim().Split(',');//初始要排序的数组 R1...n]
       // bool IsTure;//看看是不是大的在上面 交换标志
        string TempMM = "";//数据的暂存单元

        ///开始排序 
        ///设定 最大的排序次数
        for (int i=0; i < R.Length; i++)
        {
          //  IsTure = false; //设定排序 交换标志 为不是, 相当于 大数在小数的上面
            //如果开始第一次排序的话，那么 这回就要 数据的长度 - 1次比较
            for (int j = 0; j < R.Length-1; j++)
            {
                if (Convert.ToInt32( R[j + 1]) < Convert.ToInt32(R[j]))//如果 大的在下面 小的在上面 就 交换记录
                {
                    //关键部分 排序  交换记录
                    TempMM = R[j]; 
                    R[j] = R[j + 1];
                    R[j + 1] = TempMM;

                  //  IsTure = true; //排过了
                   
                }
                shu++;
            }
            shu++;
        }

        Result.Text = "";
        foreach (string str in R)
        {
            Result.Text += str+",";
        }
        Result.Text += "<br/>循环次数 : " + shu;

    }
}
